﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LCTNote.Business;
using LCTNote.Models.ViewModels;

namespace LCTNote
{
    public partial class frmDangNhap : Form
    {
        int maNguoiDung;

        public frmDangNhap()
        {
            InitializeComponent();
        }

        private void frmDangNhap_Load(object sender, EventArgs e)
        {

        }

        private void btnDangNhap_Click(object sender, EventArgs e)
        {           
            #region Bẫy lỗi đăng nhập
            if (txtTenDangNhap.Text == "" || txtMatKhau.Text == "")
            {
                MessageBox.Show("Vui lòng nhập đầy đủ thông tin!");
                if (txtTenDangNhap.Text == "")
                    txtTenDangNhap.Focus();
                if (txtMatKhau.Text == "")
                    txtMatKhau.Focus();
            }
            else
            {
                kiemTraNguoiDung();
            }
            #endregion            
        }

        public void kiemTraNguoiDung()
        {
            //Đổi trỏ chuột
            this.Cursor = Cursors.WaitCursor;

            if (NguoiDungBusiness.kiemTraDangNhap(txtTenDangNhap.Text, txtMatKhau.Text))
            {
                NguoiDungViewModel nguoiDung = NguoiDungBusiness.layNguoiDungTheoTenDangNhap(txtTenDangNhap.Text);

                //Kiểm tra lấy dữ liệu
                if (nguoiDung == null)
                {
                    MessageBox.Show("Lấy thông tin người dùng thất bại");
                    this.Cursor = Cursors.Default;
                    return;
                }

                //Lấy mã người dùng
                maNguoiDung = nguoiDung.ma;

                //Thành công => trả về OK
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                MessageBox.Show("Bạn nhập sai tên Đăng Nhập hoặc mật Khẩu!");
                txtTenDangNhap.Clear();
                txtTenDangNhap.Focus();
                txtMatKhau.Clear();
            }
        }

        public int layMaNguoiDungDangNhap()
        {
            return maNguoiDung;
        }

        private void btnDangKy_Click(object sender, EventArgs e)
        {
            frmDangKy frm = new frmDangKy();
            this.Hide();
            if (frm.ShowDialog() == DialogResult.OK)
            {
                this.Show();
            }
            else
            {
                this.Close();
            }
        }
    }
}
